USENIX Association Proceedings of the 6 th USENIX Conference on Object - Oriented Technologies and Systems ( COOTS ' 01 )
نویسنده
چکیده
Today, mobility and persistence are important aspects of distributed applications. They have many fields of use such as load balancing, fault tolerance and dynamic reconfiguration of applications. In this context, the Java virtual machine provides many useful services such as dynamic class loading and object serialization which allow Java code and objects to be mobile or persistent. However, Java does not provide any service for the mobility or the persistence of control flows (threads), the execution state of a Java program remains inaccessible. We designed and implemented new services that make Java threads mobile or persistent. With these services, a running Java thread can, at an arbitrary state of its execution, migrate to a remote machine or be checkpointed on disk for a possible subsequent recovery. Therefore migrating a Java thread is simply performed by the call of our go primitive, by the thread itself or by an external thread. In other words, the migration or the checkpointing of a thread can be initiated by the thread itself or by another thread. We integrated these services into the JVM, so they provide reasonable and competitive performance figures without inducing an overhead on JVM performance. Finally, we experimented a dynamic reconfiguration tool based on our mobility service and applied to a running distributed application.
منابع مشابه
USENIX Association Proceedings of the 6 th USENIX Conference on Object - Oriented Technologies and Systems ( COOTS ' 01 )
It is well known that distributed systems pose serious diÆculties concerning memory management: when done manually, it leads to memory leaks and dangling references causing applications to fail. We address this problem by presenting a distributed garbage collection (DGC) algorithm for distributed systems supporting replicated data over wide area networks. Current DGC algorithms are not well sui...
متن کاملUSENIX Association Proceedings of the 6 th USENIX Conference on Object - Oriented Technologies and Systems
Generic programming is a paradigm whose wide adoption by the C++ community is quite recent. In this scheme most classes and procedures are parameterized, leading to the construction of general and efficient software components. In this paper, we show how some design patterns from Gamma et al. can be adapted to this paradigm. Although these patterns rely highly on dynamic binding, we show that, ...
متن کاملUSENIX Association Proceedings of the 6 th USENIX Conference on Object - Oriented Technologies and Systems
Many authors have proposed using byte code rewriting as a way of adapting or extending the behaviour of Java classes. There are toolkits available that simplify this process and raise the level of abstraction above byte code. However, to the best of our knowledge, none of these toolkits provide a complete model of behavioural reflection for Java. In this paper, we describe how we have used load...
متن کاملUSENIX Association Proceedings of the 14 th Systems Administration Conference ( LISA 2000 ) New Orleans
Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein.
متن کاملUSENIX Association Proceedings of the FREENIX Track : 2002 USENIX Annual Technical Conference
The AGFL Grammar Work Lab is the first parser generator for natural languages to be brought under the GNU public license. Apart from its linguistic uses, it is intended for the production of parsers which are to be embedded in application systems. In particular, the AGFL system comes with a free grammar and lexicon of English, allowing the construction of user interfaces and applications involv...
متن کامل